<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IRremoteESP8266: src/ir_Tcl.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">IRremoteESP8266
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">ir_Tcl.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="ir__Tcl_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Copyright 2019, 2021 David Conran</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160; </div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// Supports:</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">//   Brand: Leberg,  Model: LBS-TOR07 A/C (TAC09CHSD)</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//   Brand: TCL,  Model: TAC-09CHSD/XA31I A/C (TAC09CHSD)</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//   Brand: Teknopoint,  Model: Allegro SSA-09H A/C (GZ055BE1)</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//   Brand: Teknopoint,  Model: GZ-055B-E1 remote (GZ055BE1)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">//   Brand: Daewoo,  Model: DSB-F0934ELH-V A/C</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">//   Brand: Daewoo,  Model: GYKQ-52E remote</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">//   Brand: TCL,  Model: GYKQ-58(XM) remote (TCL96AC)</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160; </div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#ifndef IR_TCL_H_</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#define IR_TCL_H_</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;Arduino.h&gt;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRsend_8h.html">IRsend.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRrecv_8h.html">IRrecv.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#ifdef UNIT_TEST</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;IRsend_test.h&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html">   29</a></span>&#160;<span class="keyword">union </span><a class="code" href="unionTcl112Protocol.html">Tcl112Protocol</a>{</div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a1d1a6ffcb7076b1d6c742de1178c2420">   30</a></span>&#160;  uint8_t <a class="code" href="unionTcl112Protocol.html#a1d1a6ffcb7076b1d6c742de1178c2420">raw</a>[<a class="code" href="IRremoteESP8266_8h.html#a23ba2f5af02242e14ae7eefcd066152e">kTcl112AcStateLength</a>];  </div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;  <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <span class="comment">// Byte 0~2</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#ac6a87b38987b8acf6a4f2e8c56915e9b">   33</a></span>&#160;    uint8_t                 :8;</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a4eadf5f4b418c756332c565db930bc4b">   34</a></span>&#160;    uint8_t                 :8;</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#ac3ca9623e507753cacd7303b1a0272b2">   35</a></span>&#160;    uint8_t                 :8;</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="comment">// Byte 3</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a0072309bc66dcc9774f318c44475ebe2">   37</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a0072309bc66dcc9774f318c44475ebe2">MsgType</a>         :2;</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#affe38fa7d2100bea87de4071e21fc2b6">   38</a></span>&#160;    uint8_t                 :6;</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="comment">// Byte 4</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#ae6dae45ebb41b93a08a5279123f2eb2c">   40</a></span>&#160;    uint8_t                 :8;</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <span class="comment">// Byte 5</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#af7625c2439f53ca9b9865056d8c304b0">   42</a></span>&#160;    uint8_t                 :2;</div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#af087805327d98279e00c8f6427a2f9e7">   43</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#af087805327d98279e00c8f6427a2f9e7">Power</a>           :1;</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#aca58fa05e0a548719b34b86357e3f305">   44</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#aca58fa05e0a548719b34b86357e3f305">OffTimerEnabled</a> :1;</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a2546ae2668d1e229942fab821d92f314">   45</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a2546ae2668d1e229942fab821d92f314">OnTimerEnabled</a>  :1;</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#af3639cceb91de679a14ea62efb7c0aae">   46</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#af3639cceb91de679a14ea62efb7c0aae">Quiet</a>           :1;</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a1787bdc0b636eeca6f85dcbec14aef6b">   47</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a1787bdc0b636eeca6f85dcbec14aef6b">Light</a>           :1;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a5791daa5a91ae0bfff5db2b42472b218">   48</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a5791daa5a91ae0bfff5db2b42472b218">Econo</a>           :1;</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="comment">// Byte 6</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a96d87be2a38710de21cecfab0050ff95">   50</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a96d87be2a38710de21cecfab0050ff95">Mode</a>            :4;</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a2dce97bdebb2d9a2648d7e8e83ed892d">   51</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a2dce97bdebb2d9a2648d7e8e83ed892d">Health</a>          :1;</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a2b994555374f08b3c9f6654211cb698a">   52</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a2b994555374f08b3c9f6654211cb698a">Turbo</a>           :1;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a61cf175094f4bc60ab3af7f92d47d3ee">   53</a></span>&#160;    uint8_t                 :2;</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="comment">// Byte 7</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#adac34333fb283e85dbbae7f82464034c">   55</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#adac34333fb283e85dbbae7f82464034c">Temp</a>            :4;</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#adc928f47f29d1b4bf33e7bd35c9987bd">   56</a></span>&#160;    uint8_t                 :4;</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="comment">// Byte 8</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a8aefa398eb58112b2f39ead30c3953a9">   58</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a8aefa398eb58112b2f39ead30c3953a9">Fan</a>             :3;</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a4d4ec9093ad1cb4457e004e21545d1a7">   59</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a4d4ec9093ad1cb4457e004e21545d1a7">SwingV</a>          :3;</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a39ba4ba74ab8d9d3fa05725cd0f4ae7d">   60</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a39ba4ba74ab8d9d3fa05725cd0f4ae7d">TimerIndicator</a>  :1;</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a7aa74ed66db5b991af248df7c1457161">   61</a></span>&#160;    uint8_t                 :1;</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="comment">// Byte 9</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#aa9a84110b34dc358dfcc482e57b2a845">   63</a></span>&#160;    uint8_t                 :1;  <span class="comment">// 0</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a8e3ce768b33f71d50ce398c52078e625">   64</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a8e3ce768b33f71d50ce398c52078e625">OffTimer</a>        :6;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a74af4d2e7c04175c0808a87976638520">   65</a></span>&#160;    uint8_t                 :1;  <span class="comment">// 0</span></div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="comment">// Byte 10</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a2f016da707fad36d90dd6b2dcde75477">   67</a></span>&#160;    uint8_t                 :1;  <span class="comment">// 0</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a1111f53e4f97b34238d735012a0a0768">   68</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a1111f53e4f97b34238d735012a0a0768">OnTimer</a>         :6;</div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a1eadd15e581c05c8a8c2fd8e4e02fdcb">   69</a></span>&#160;    uint8_t                 :1;  <span class="comment">// 0</span></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="comment">// Byte 11</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a756cc35baffe77d437dd290bc637258f">   71</a></span>&#160;    uint8_t                 :8;  <span class="comment">// 00000000</span></div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="comment">// Byte 12</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#aa934118a79d1d197ee292e5d43f15839">   73</a></span>&#160;    uint8_t                 :3;</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#ac10dd12d472bf3a9f632b645e48a1c7f">   74</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#ac10dd12d472bf3a9f632b645e48a1c7f">SwingH</a>          :1;</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a510853d90e0c575e9f59bb096c716a21">   75</a></span>&#160;    uint8_t                 :1;</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a38ef38c4d67dfae2a1927ce756bba84a">   76</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a38ef38c4d67dfae2a1927ce756bba84a">HalfDegree</a>      :1;</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#af0568f94937015bd21b6c424d82930e5">   77</a></span>&#160;    uint8_t                 :1;</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a11bf764cce39425971704bbd42b5ced3">   78</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a11bf764cce39425971704bbd42b5ced3">isTcl</a>           :1;</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="comment">// Byte 13</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="unionTcl112Protocol.html#a5d46a94c80989ecfd47c86028ab69662">   80</a></span>&#160;    uint8_t <a class="code" href="unionTcl112Protocol.html#a5d46a94c80989ecfd47c86028ab69662">Sum</a>             :8;</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  };</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;};</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">// Constants</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a56f9f7daf3ada77f8f844afd46a80de9">   85</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Tcl_8h.html#a56f9f7daf3ada77f8f844afd46a80de9">kTcl112AcHdrMark</a> = 3000;</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a9135b4d7496383ad3a7da7c3ac7c92b4">   86</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Tcl_8h.html#a9135b4d7496383ad3a7da7c3ac7c92b4">kTcl112AcHdrSpace</a> = 1650;</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a45360de532d2262246bf57cb7c08604d">   87</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Tcl_8h.html#a45360de532d2262246bf57cb7c08604d">kTcl112AcBitMark</a> = 500;</div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#af1e67019978260ba3f514cd895b54dad">   88</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Tcl_8h.html#af1e67019978260ba3f514cd895b54dad">kTcl112AcOneSpace</a> = 1050;</div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#abc05edaeb1a4fa7e6ccf9bda1f66b483">   89</a></span>&#160;<span class="keyword">const</span> uint16_t <a class="code" href="ir__Tcl_8h.html#abc05edaeb1a4fa7e6ccf9bda1f66b483">kTcl112AcZeroSpace</a> = 325;</div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a9ccdf5ce9ce325b9813dadbdc855a469">   90</a></span>&#160;<span class="keyword">const</span> uint32_t <a class="code" href="ir__Tcl_8h.html#a9ccdf5ce9ce325b9813dadbdc855a469">kTcl112AcGap</a> = <a class="code" href="IRsend_8h.html#ad49e9828319afbad49fd5082c50ef4a7">kDefaultMessageGap</a>;  <span class="comment">// Just a guess.</span></div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">// Total tolerance percentage to use for matching the header mark.</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#ab9d980747b2ddd1b7fb04f00d71af1e7">   92</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#ab9d980747b2ddd1b7fb04f00d71af1e7">kTcl112AcHdrMarkTolerance</a> = 6;</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a13bbe794b2b59763f7f93f15a3f26820">   93</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#a13bbe794b2b59763f7f93f15a3f26820">kTcl112AcTolerance</a> = 5;  <span class="comment">// Extra Percentage for the rest.</span></div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#ae573f856f0bdf50406e9be84b1aa8ade">   95</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#ae573f856f0bdf50406e9be84b1aa8ade">kTcl112AcHeat</a> = 1;</div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a1d9ec40c278fedf87acb7420ef861101">   96</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#a1d9ec40c278fedf87acb7420ef861101">kTcl112AcDry</a> =  2;</div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a4a4b778086b3ebf856b750fe0c4bd2c0">   97</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#a4a4b778086b3ebf856b750fe0c4bd2c0">kTcl112AcCool</a> = 3;</div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#ae07f3dd0a84be27bcb13ba60f4fd025b">   98</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#ae07f3dd0a84be27bcb13ba60f4fd025b">kTcl112AcFan</a> =  7;</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a11a982cc182e446d53ded658cb7a08b6">   99</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#a11a982cc182e446d53ded658cb7a08b6">kTcl112AcAuto</a> = 8;</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a099935d6d2bf6ebb28332005036c59c0">  101</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#a099935d6d2bf6ebb28332005036c59c0">kTcl112AcFanAuto</a> = 0b000;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a185373ec3b1f0a77887b0940835eb293">  102</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#a185373ec3b1f0a77887b0940835eb293">kTcl112AcFanMin</a>  = 0b001;  <span class="comment">// Aka. &quot;Night&quot;</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a5114fe3f978672fc62c0cd16f6d46dd7">  103</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#a5114fe3f978672fc62c0cd16f6d46dd7">kTcl112AcFanLow</a>  = 0b010;</div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#ad8f34f1972da347a169e2eb4ddf3d835">  104</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#ad8f34f1972da347a169e2eb4ddf3d835">kTcl112AcFanMed</a>  = 0b011;</div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#aab9672bac3e83b2e3b3d2cc5f1aa0e1f">  105</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#aab9672bac3e83b2e3b3d2cc5f1aa0e1f">kTcl112AcFanHigh</a> = 0b101;</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a1e91cd0aa17543b7174c9b14c49e8639">  106</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#a1e91cd0aa17543b7174c9b14c49e8639">kTcl112AcFanNight</a> = <a class="code" href="ir__Tcl_8h.html#a185373ec3b1f0a77887b0940835eb293">kTcl112AcFanMin</a>;</div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a7a0101f4a4611ecc6c86b1076d5471df">  107</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#a7a0101f4a4611ecc6c86b1076d5471df">kTcl112AcFanQuiet</a> = <a class="code" href="ir__Tcl_8h.html#a185373ec3b1f0a77887b0940835eb293">kTcl112AcFanMin</a>;</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a60efbe31031e1e9c3a17c7d80cac54cb">  109</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">float</span>   <a class="code" href="ir__Tcl_8h.html#a60efbe31031e1e9c3a17c7d80cac54cb">kTcl112AcTempMax</a>    = 31.0;</div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a30fe65ec015bc4d91cd35ead9cc43dcc">  110</a></span>&#160;<span class="keyword">const</span> <span class="keywordtype">float</span>   <a class="code" href="ir__Tcl_8h.html#a30fe65ec015bc4d91cd35ead9cc43dcc">kTcl112AcTempMin</a>    = 16.0;</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#aa78e1b544f392c251093d458e5d21e12">  112</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#aa78e1b544f392c251093d458e5d21e12">kTcl112AcSwingVOff</a> =     0b000;</div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#aa5a14dbc17911643c79cfccf4e9a3afd">  113</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#aa5a14dbc17911643c79cfccf4e9a3afd">kTcl112AcSwingVHighest</a> = 0b001;</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a67e96dc38aa1570bcee95cf21a38f8dd">  114</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#a67e96dc38aa1570bcee95cf21a38f8dd">kTcl112AcSwingVHigh</a> =    0b010;</div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a9c61030fad0565791f12cb77c895f9d4">  115</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#a9c61030fad0565791f12cb77c895f9d4">kTcl112AcSwingVMiddle</a> =  0b011;</div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#aebc62b52b82497fa1c9f126b8902332a">  116</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#aebc62b52b82497fa1c9f126b8902332a">kTcl112AcSwingVLow</a> =     0b100;</div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#ad05ef3c6cf8124bd049dcdd748785506">  117</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#ad05ef3c6cf8124bd049dcdd748785506">kTcl112AcSwingVLowest</a> =  0b101;</div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a5406fbabd66478d601aebc6939a3788f">  118</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#a5406fbabd66478d601aebc6939a3788f">kTcl112AcSwingVOn</a> =      0b111;</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment">// MsgType</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#ab73a3a315b16761eac5da625dba58ab4">  120</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#ab73a3a315b16761eac5da625dba58ab4">kTcl112AcNormal</a>  = 0b01;</div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="ir__Tcl_8h.html#a6ed347f3495ee7bb626b680a995e3c8f">  121</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Tcl_8h.html#a6ed347f3495ee7bb626b680a995e3c8f">kTcl112AcSpecial</a> = 0b10;</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; </div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">// Classes</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classIRTcl112Ac.html">  125</a></span>&#160;<span class="comment"></span><span class="keyword">class </span><a class="code" href="classIRTcl112Ac.html">IRTcl112Ac</a> {</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classIRTcl112Ac.html#a061bdfdf4444cb5e06fa90824985c1ec">IRTcl112Ac</a>(<span class="keyword">const</span> uint16_t pin, <span class="keyword">const</span> <span class="keywordtype">bool</span> inverted = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;                      <span class="keyword">const</span> <span class="keywordtype">bool</span> use_modulation = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">#if SEND_TCL112AC</span></div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a9aa8c67e167a3d241157306d0668ff15">send</a>(<span class="keyword">const</span> uint16_t repeat = <a class="code" href="IRremoteESP8266_8h.html#a97c82cec6d72845d9ab8a201b0fa5034">kTcl112AcDefaultRepeat</a>);</div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classIRTcl112Ac.html#a435744e4c6ef31b362d15523ce0584f5">  135</a></span>&#160;  int8_t <a class="code" href="classIRTcl112Ac.html#a435744e4c6ef31b362d15523ce0584f5">calibrate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <a class="code" href="classIRTcl112Ac.html#a3f10e710a44c3a80f4f9ed5247b28058">_irsend</a>.<a class="code" href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">calibrate</a>(); }</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif  // SEND_TCL</span></div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a5b9983ab4027951679f0dc31b33cbadf">begin</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a049f475c1af7b62b9f3482dcf9e66d4a">stateReset</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  uint8_t* <a class="code" href="classIRTcl112Ac.html#a517375b764d1381aa5a7d4ec962346ec">getRaw</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a5b0994f37df6846137b564eeb322f21b">setRaw</a>(<span class="keyword">const</span> uint8_t new_code[],</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;              <span class="keyword">const</span> uint16_t length = <a class="code" href="IRremoteESP8266_8h.html#a23ba2f5af02242e14ae7eefcd066152e">kTcl112AcStateLength</a>);</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <a class="code" href="IRsend_8h.html#a3a3ca37af46bf2f69ec66fef91b5115f">tcl_ac_remote_model_t</a> <a class="code" href="classIRTcl112Ac.html#ad13fe14c6ce0b9a64b87d0e6939e7657">getModel</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a36d618f6a8a695b4ad7a3b4d2c3ddb82">setModel</a>(<span class="keyword">const</span> <a class="code" href="IRsend_8h.html#a3a3ca37af46bf2f69ec66fef91b5115f">tcl_ac_remote_model_t</a> model);</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a0bbf7f0b9753b516fda0544c17b15b8a">on</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#ab2e39430629fcada55a584cff66d2749">off</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#ad2367d2481f94f14b9c4f7b378711b7e">setPower</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a0bbf7f0b9753b516fda0544c17b15b8a">on</a>);</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a631d9d1addb03f18708fbec9d2480651">getPower</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a110bae0201b63db0409c352dd8d62786">setTemp</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> celsius);  <span class="comment">// Celsius in 0.5 increments</span></div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  <span class="keywordtype">float</span> <a class="code" href="classIRTcl112Ac.html#a0b67c42831d2f6af39a5512bbf290ec7">getTemp</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a1a050c9b238691ba6d4764beeb788778">setMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  uint8_t <a class="code" href="classIRTcl112Ac.html#a923f20af1fafa75feba9fabe0a39aa0a">getMode</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRTcl112Ac.html#a0973a1c8a53661ee7720ecb5d08e6dcc">calcChecksum</a>(uint8_t state[],</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;                              <span class="keyword">const</span> uint16_t length = <a class="code" href="IRremoteESP8266_8h.html#a23ba2f5af02242e14ae7eefcd066152e">kTcl112AcStateLength</a>);</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a204bc37ffadf72ed31b305197c4803f4">validChecksum</a>(uint8_t state[],</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;                            <span class="keyword">const</span> uint16_t length = <a class="code" href="IRremoteESP8266_8h.html#a23ba2f5af02242e14ae7eefcd066152e">kTcl112AcStateLength</a>);</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a0dab8ad6675c4ec122d0d7e28a557cba">setFan</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  uint8_t <a class="code" href="classIRTcl112Ac.html#a4c7f0b599c415406274bfba4f0e65984">getFan</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a48ac7acfa8fed8e9da39907282f4f377">setEcono</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a0bbf7f0b9753b516fda0544c17b15b8a">on</a>);</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a7a097fd243a9f0c9f965d2299996cd32">getEcono</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a28ed509977d8642174bc6c9aa97ae1c3">setHealth</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a0bbf7f0b9753b516fda0544c17b15b8a">on</a>);</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a37015a710d0c3b6278874fd5a5673e0f">getHealth</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a7dec5b0559f996df8a4fc259ab6012e9">setLight</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a0bbf7f0b9753b516fda0544c17b15b8a">on</a>);</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a058bdb5e3191ba900aeb68a02290ef7f">getLight</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#aedc63c59a924d64048bc034a752ce7ed">setSwingHorizontal</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a0bbf7f0b9753b516fda0544c17b15b8a">on</a>);</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#aa39f0f91e6a59477c914189817ae5518">getSwingHorizontal</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#afd9ffbbbb7de4dbda8f9c023e3f263a8">setSwingVertical</a>(<span class="keyword">const</span> uint8_t setting);</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  uint8_t <a class="code" href="classIRTcl112Ac.html#a8ab8cfeceddf98e427ae4d15342b1a68">getSwingVertical</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a99e3b3e2f0cc627b6d872d04b35d6230">setTurbo</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a0bbf7f0b9753b516fda0544c17b15b8a">on</a>);</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a044a8f5f05a4bbc10bac155b49d27ee5">getTurbo</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a1cd1b6a9948c7421c78dbafe3df07751">setQuiet</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a0bbf7f0b9753b516fda0544c17b15b8a">on</a>);</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a8fba373363f2422c855edda8578a97d1">getQuiet</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> def = <span class="keyword">false</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  uint16_t <a class="code" href="classIRTcl112Ac.html#a15ecd741098cfa6caa4d12a427734f2c">getOnTimer</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a757c07a38c2236ce5c9b5f23a71a4b15">setOnTimer</a>(<span class="keyword">const</span> uint16_t mins);</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  uint16_t <a class="code" href="classIRTcl112Ac.html#ad483ed47bf7932158e264dcc97b401af">getOffTimer</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#adb444a1d026b0d199ead49217869a6d8">setOffTimer</a>(<span class="keyword">const</span> uint16_t mins);</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#ae3b4fe63ee61649c36b442dbbc3fd4ad">isTcl</a>(<span class="keyword">const</span> uint8_t state[]);</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRTcl112Ac.html#ac063653636319a9451590b08abbfecdc">convertMode</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> mode);</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRTcl112Ac.html#a3f8178f8f646ed9892eefa40bbff4fb1">convertFan</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> speed);</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRTcl112Ac.html#a02e966af5129144bfe6ef62b4a3ceef2">convertSwingV</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#ac07f224c7bb47cac55dd01f24770ef43">stdAc::swingv_t</a> position);</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> <a class="code" href="classIRTcl112Ac.html#a230a8d768089d869efdea6589b0a9e37">toCommonMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> <a class="code" href="classIRTcl112Ac.html#a66843ee5b53ce9be1aef3774b8df5c84">toCommonFanSpeed</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#ac07f224c7bb47cac55dd01f24770ef43">stdAc::swingv_t</a> <a class="code" href="classIRTcl112Ac.html#a3a27bddca116b617b331018c1672f35f">toCommonSwingV</a>(<span class="keyword">const</span> uint8_t setting);</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;  <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> <a class="code" href="classIRTcl112Ac.html#a6035b0bb25c4d8972cae2c95f1416d85">toCommon</a>(<span class="keyword">const</span> <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> *prev = NULL) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  <a class="code" href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a> <a class="code" href="classIRTcl112Ac.html#af9bed8c8ef7e25e624f1f4765722acc5">toString</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160; </div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classIRTcl112Ac.html#a3f10e710a44c3a80f4f9ed5247b28058">  188</a></span>&#160;  <a class="code" href="classIRsend.html">IRsend</a> <a class="code" href="classIRTcl112Ac.html#a3f10e710a44c3a80f4f9ed5247b28058">_irsend</a>;  </div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="preprocessor">#else  // UNIT_TEST</span></div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  IRsendTest <a class="code" href="classIRTcl112Ac.html#a3f10e710a44c3a80f4f9ed5247b28058">_irsend</a>;  </div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="preprocessor">#endif  // UNIT_TEST</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="classIRTcl112Ac.html#a905e47d5236b5dbbcc0aeadfc3fc9339">  194</a></span>&#160;  <a class="code" href="unionTcl112Protocol.html">Tcl112Protocol</a> <a class="code" href="classIRTcl112Ac.html#a905e47d5236b5dbbcc0aeadfc3fc9339">_</a>;</div>
<div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="classIRTcl112Ac.html#ab1957f693ef8175dc272265aa48e7a8c">  195</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#ab1957f693ef8175dc272265aa48e7a8c">_quiet_prev</a>;</div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="classIRTcl112Ac.html#a9c5da7b0c3394c77cbb043196e4694e9">  196</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a9c5da7b0c3394c77cbb043196e4694e9">_quiet</a>;</div>
<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classIRTcl112Ac.html#a58b51f16b34722704c55df59bd480c96">  197</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRTcl112Ac.html#a58b51f16b34722704c55df59bd480c96">_quiet_explictly_set</a>;</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRTcl112Ac.html#a2486f46c7db6a3dfbe3af9c842ff37fa">checksum</a>(<span class="keyword">const</span> uint16_t length = <a class="code" href="IRremoteESP8266_8h.html#a23ba2f5af02242e14ae7eefcd066152e">kTcl112AcStateLength</a>);</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;};</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="preprocessor">#endif  // IR_TCL_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassIRTcl112Ac_html_a905e47d5236b5dbbcc0aeadfc3fc9339"><div class="ttname"><a href="classIRTcl112Ac.html#a905e47d5236b5dbbcc0aeadfc3fc9339">IRTcl112Ac::_</a></div><div class="ttdeci">Tcl112Protocol _</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:194</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_aedc63c59a924d64048bc034a752ce7ed"><div class="ttname"><a href="classIRTcl112Ac.html#aedc63c59a924d64048bc034a752ce7ed">IRTcl112Ac::setSwingHorizontal</a></div><div class="ttdeci">void setSwingHorizontal(const bool on)</div><div class="ttdoc">Set the horizontal swing setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:288</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a3f8178f8f646ed9892eefa40bbff4fb1"><div class="ttname"><a href="classIRTcl112Ac.html#a3f8178f8f646ed9892eefa40bbff4fb1">IRTcl112Ac::convertFan</a></div><div class="ttdeci">static uint8_t convertFan(const stdAc::fanspeed_t speed)</div><div class="ttdoc">Convert a stdAc::fanspeed_t enum into it's native speed.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:391</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a0973a1c8a53661ee7720ecb5d08e6dcc"><div class="ttname"><a href="classIRTcl112Ac.html#a0973a1c8a53661ee7720ecb5d08e6dcc">IRTcl112Ac::calcChecksum</a></div><div class="ttdeci">static uint8_t calcChecksum(uint8_t state[], const uint16_t length=kTcl112AcStateLength)</div><div class="ttdoc">Calculate the checksum for a given state.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:101</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a923f20af1fafa75feba9fabe0a39aa0a"><div class="ttname"><a href="classIRTcl112Ac.html#a923f20af1fafa75feba9fabe0a39aa0a">IRTcl112Ac::getMode</a></div><div class="ttdeci">uint8_t getMode(void) const</div><div class="ttdoc">Get the operating mode setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:195</div></div>
<div class="ttc" id="air__Tcl_8h_html_a30fe65ec015bc4d91cd35ead9cc43dcc"><div class="ttname"><a href="ir__Tcl_8h.html#a30fe65ec015bc4d91cd35ead9cc43dcc">kTcl112AcTempMin</a></div><div class="ttdeci">const float kTcl112AcTempMin</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:110</div></div>
<div class="ttc" id="anamespacestdAc_html_ac07f224c7bb47cac55dd01f24770ef43"><div class="ttname"><a href="namespacestdAc.html#ac07f224c7bb47cac55dd01f24770ef43">stdAc::swingv_t</a></div><div class="ttdeci">swingv_t</div><div class="ttdoc">Common A/C settings for Vertical Swing.</div><div class="ttdef"><b>Definition:</b> IRsend.h:74</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a02e966af5129144bfe6ef62b4a3ceef2"><div class="ttname"><a href="classIRTcl112Ac.html#a02e966af5129144bfe6ef62b4a3ceef2">IRTcl112Ac::convertSwingV</a></div><div class="ttdeci">static uint8_t convertSwingV(const stdAc::swingv_t position)</div><div class="ttdoc">Convert a stdAc::swingv_t enum into it's native setting.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:418</div></div>
<div class="ttc" id="air__Tcl_8h_html_a9135b4d7496383ad3a7da7c3ac7c92b4"><div class="ttname"><a href="ir__Tcl_8h.html#a9135b4d7496383ad3a7da7c3ac7c92b4">kTcl112AcHdrSpace</a></div><div class="ttdeci">const uint16_t kTcl112AcHdrSpace</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:86</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_ac063653636319a9451590b08abbfecdc"><div class="ttname"><a href="classIRTcl112Ac.html#ac063653636319a9451590b08abbfecdc">IRTcl112Ac::convertMode</a></div><div class="ttdeci">static uint8_t convertMode(const stdAc::opmode_t mode)</div><div class="ttdoc">Convert a stdAc::opmode_t enum into its native mode.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:378</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_ac10dd12d472bf3a9f632b645e48a1c7f"><div class="ttname"><a href="unionTcl112Protocol.html#ac10dd12d472bf3a9f632b645e48a1c7f">Tcl112Protocol::SwingH</a></div><div class="ttdeci">uint8_t SwingH</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:74</div></div>
<div class="ttc" id="anamespacestdAc_html_a8bb0dbf18fe69f639f4ac0b3ff133383"><div class="ttname"><a href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a></div><div class="ttdeci">fanspeed_t</div><div class="ttdoc">Common A/C settings for Fan Speeds.</div><div class="ttdef"><b>Definition:</b> IRsend.h:61</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_ad483ed47bf7932158e264dcc97b401af"><div class="ttname"><a href="classIRTcl112Ac.html#ad483ed47bf7932158e264dcc97b401af">IRTcl112Ac::getOffTimer</a></div><div class="ttdeci">uint16_t getOffTimer(void) const</div><div class="ttdoc">Get how long the Off Timer is set for, in minutes.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:362</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_adb444a1d026b0d199ead49217869a6d8"><div class="ttname"><a href="classIRTcl112Ac.html#adb444a1d026b0d199ead49217869a6d8">IRTcl112Ac::setOffTimer</a></div><div class="ttdeci">void setOffTimer(const uint16_t mins)</div><div class="ttdoc">Set or cancel the Off Timer function.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:369</div></div>
<div class="ttc" id="aIRsend_8h_html_ad49e9828319afbad49fd5082c50ef4a7"><div class="ttname"><a href="IRsend_8h.html#ad49e9828319afbad49fd5082c50ef4a7">kDefaultMessageGap</a></div><div class="ttdeci">const uint32_t kDefaultMessageGap</div><div class="ttdef"><b>Definition:</b> IRsend.h:41</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_ae3b4fe63ee61649c36b442dbbc3fd4ad"><div class="ttname"><a href="classIRTcl112Ac.html#ae3b4fe63ee61649c36b442dbbc3fd4ad">IRTcl112Ac::isTcl</a></div><div class="ttdeci">static bool isTcl(const uint8_t state[])</div><div class="ttdoc">Check the supplied state looks like a TCL112AC message.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:134</div></div>
<div class="ttc" id="air__Tcl_8h_html_a7a0101f4a4611ecc6c86b1076d5471df"><div class="ttname"><a href="ir__Tcl_8h.html#a7a0101f4a4611ecc6c86b1076d5471df">kTcl112AcFanQuiet</a></div><div class="ttdeci">const uint8_t kTcl112AcFanQuiet</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:107</div></div>
<div class="ttc" id="aIRsend_8h_html_a3a3ca37af46bf2f69ec66fef91b5115f"><div class="ttname"><a href="IRsend_8h.html#a3a3ca37af46bf2f69ec66fef91b5115f">tcl_ac_remote_model_t</a></div><div class="ttdeci">tcl_ac_remote_model_t</div><div class="ttdoc">TCL (&amp; Teknopoint) A/C model numbers.</div><div class="ttdef"><b>Definition:</b> IRsend.h:199</div></div>
<div class="ttc" id="air__Tcl_8h_html_a5114fe3f978672fc62c0cd16f6d46dd7"><div class="ttname"><a href="ir__Tcl_8h.html#a5114fe3f978672fc62c0cd16f6d46dd7">kTcl112AcFanLow</a></div><div class="ttdeci">const uint8_t kTcl112AcFanLow</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:103</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a9aa8c67e167a3d241157306d0668ff15"><div class="ttname"><a href="classIRTcl112Ac.html#a9aa8c67e167a3d241157306d0668ff15">IRTcl112Ac::send</a></div><div class="ttdeci">void send(const uint16_t repeat=kTcl112AcDefaultRepeat)</div><div class="ttdoc">Send the current internal state as an IR message.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:70</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_af3639cceb91de679a14ea62efb7c0aae"><div class="ttname"><a href="unionTcl112Protocol.html#af3639cceb91de679a14ea62efb7c0aae">Tcl112Protocol::Quiet</a></div><div class="ttdeci">uint8_t Quiet</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:46</div></div>
<div class="ttc" id="air__Tcl_8h_html_a45360de532d2262246bf57cb7c08604d"><div class="ttname"><a href="ir__Tcl_8h.html#a45360de532d2262246bf57cb7c08604d">kTcl112AcBitMark</a></div><div class="ttdeci">const uint16_t kTcl112AcBitMark</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:87</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a7a097fd243a9f0c9f965d2299996cd32"><div class="ttname"><a href="classIRTcl112Ac.html#a7a097fd243a9f0c9f965d2299996cd32">IRTcl112Ac::getEcono</a></div><div class="ttdeci">bool getEcono(void) const</div><div class="ttdoc">Get the economy setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:268</div></div>
<div class="ttc" id="air__Tcl_8h_html_a6ed347f3495ee7bb626b680a995e3c8f"><div class="ttname"><a href="ir__Tcl_8h.html#a6ed347f3495ee7bb626b680a995e3c8f">kTcl112AcSpecial</a></div><div class="ttdeci">const uint8_t kTcl112AcSpecial</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:121</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_ab1957f693ef8175dc272265aa48e7a8c"><div class="ttname"><a href="classIRTcl112Ac.html#ab1957f693ef8175dc272265aa48e7a8c">IRTcl112Ac::_quiet_prev</a></div><div class="ttdeci">bool _quiet_prev</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:195</div></div>
<div class="ttc" id="air__Tcl_8h_html_a9c61030fad0565791f12cb77c895f9d4"><div class="ttname"><a href="ir__Tcl_8h.html#a9c61030fad0565791f12cb77c895f9d4">kTcl112AcSwingVMiddle</a></div><div class="ttdeci">const uint8_t kTcl112AcSwingVMiddle</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:115</div></div>
<div class="ttc" id="air__Tcl_8h_html_ad8f34f1972da347a169e2eb4ddf3d835"><div class="ttname"><a href="ir__Tcl_8h.html#ad8f34f1972da347a169e2eb4ddf3d835">kTcl112AcFanMed</a></div><div class="ttdeci">const uint8_t kTcl112AcFanMed</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:104</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a11bf764cce39425971704bbd42b5ced3"><div class="ttname"><a href="unionTcl112Protocol.html#a11bf764cce39425971704bbd42b5ced3">Tcl112Protocol::isTcl</a></div><div class="ttdeci">uint8_t isTcl</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:78</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_adac34333fb283e85dbbae7f82464034c"><div class="ttname"><a href="unionTcl112Protocol.html#adac34333fb283e85dbbae7f82464034c">Tcl112Protocol::Temp</a></div><div class="ttdeci">uint8_t Temp</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:55</div></div>
<div class="ttc" id="aIRsend_8h_html"><div class="ttname"><a href="IRsend_8h.html">IRsend.h</a></div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_aa39f0f91e6a59477c914189817ae5518"><div class="ttname"><a href="classIRTcl112Ac.html#aa39f0f91e6a59477c914189817ae5518">IRTcl112Ac::getSwingHorizontal</a></div><div class="ttdeci">bool getSwingHorizontal(void) const</div><div class="ttdoc">Get the horizontal swing setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:292</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a8fba373363f2422c855edda8578a97d1"><div class="ttname"><a href="classIRTcl112Ac.html#a8fba373363f2422c855edda8578a97d1">IRTcl112Ac::getQuiet</a></div><div class="ttdeci">bool getQuiet(const bool def=false) const</div><div class="ttdoc">Get the Quiet setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:338</div></div>
<div class="ttc" id="air__Tcl_8h_html_ad05ef3c6cf8124bd049dcdd748785506"><div class="ttname"><a href="ir__Tcl_8h.html#ad05ef3c6cf8124bd049dcdd748785506">kTcl112AcSwingVLowest</a></div><div class="ttdeci">const uint8_t kTcl112AcSwingVLowest</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:117</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a0b67c42831d2f6af39a5512bbf290ec7"><div class="ttname"><a href="classIRTcl112Ac.html#a0b67c42831d2f6af39a5512bbf290ec7">IRTcl112Ac::getTemp</a></div><div class="ttdeci">float getTemp(void) const</div><div class="ttdoc">Get the current temperature setting.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:235</div></div>
<div class="ttc" id="aclassIRsend_html"><div class="ttname"><a href="classIRsend.html">IRsend</a></div><div class="ttdoc">Class for sending all basic IR protocols.</div><div class="ttdef"><b>Definition:</b> IRsend.h:237</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a48ac7acfa8fed8e9da39907282f4f377"><div class="ttname"><a href="classIRTcl112Ac.html#a48ac7acfa8fed8e9da39907282f4f377">IRTcl112Ac::setEcono</a></div><div class="ttdeci">void setEcono(const bool on)</div><div class="ttdoc">Set the economy setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:264</div></div>
<div class="ttc" id="air__Tcl_8h_html_ab73a3a315b16761eac5da625dba58ab4"><div class="ttname"><a href="ir__Tcl_8h.html#ab73a3a315b16761eac5da625dba58ab4">kTcl112AcNormal</a></div><div class="ttdeci">const uint8_t kTcl112AcNormal</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:120</div></div>
<div class="ttc" id="aclassIRsend_html_ad1776aa6c699f9eeca1eef9bb4fe355b"><div class="ttname"><a href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">IRsend::calibrate</a></div><div class="ttdeci">int8_t calibrate(uint16_t hz=38000U)</div><div class="ttdoc">Calculate &amp; set any offsets to account for execution times during sending.</div><div class="ttdef"><b>Definition:</b> IRsend.cpp:207</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a37015a710d0c3b6278874fd5a5673e0f"><div class="ttname"><a href="classIRTcl112Ac.html#a37015a710d0c3b6278874fd5a5673e0f">IRTcl112Ac::getHealth</a></div><div class="ttdeci">bool getHealth(void) const</div><div class="ttdoc">Get the Health (Filter) setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:276</div></div>
<div class="ttc" id="air__Tcl_8h_html_af1e67019978260ba3f514cd895b54dad"><div class="ttname"><a href="ir__Tcl_8h.html#af1e67019978260ba3f514cd895b54dad">kTcl112AcOneSpace</a></div><div class="ttdeci">const uint16_t kTcl112AcOneSpace</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:88</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_afbeda3fd1bdc8c37d01bdf9f5c8274ff"><div class="ttname"><a href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a></div><div class="ttdeci">std::string String</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1521</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a049f475c1af7b62b9f3482dcf9e66d4a"><div class="ttname"><a href="classIRTcl112Ac.html#a049f475c1af7b62b9f3482dcf9e66d4a">IRTcl112Ac::stateReset</a></div><div class="ttdeci">void stateReset(void)</div><div class="ttdoc">Reset the internal state of the emulation. (On, Cool, 24C)</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:141</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a58b51f16b34722704c55df59bd480c96"><div class="ttname"><a href="classIRTcl112Ac.html#a58b51f16b34722704c55df59bd480c96">IRTcl112Ac::_quiet_explictly_set</a></div><div class="ttdeci">bool _quiet_explictly_set</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:197</div></div>
<div class="ttc" id="air__Tcl_8h_html_aa5a14dbc17911643c79cfccf4e9a3afd"><div class="ttname"><a href="ir__Tcl_8h.html#aa5a14dbc17911643c79cfccf4e9a3afd">kTcl112AcSwingVHighest</a></div><div class="ttdeci">const uint8_t kTcl112AcSwingVHighest</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:113</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html"><div class="ttname"><a href="classIRTcl112Ac.html">IRTcl112Ac</a></div><div class="ttdoc">Class for handling detailed TCL A/C messages.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:125</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a2486f46c7db6a3dfbe3af9c842ff37fa"><div class="ttname"><a href="classIRTcl112Ac.html#a2486f46c7db6a3dfbe3af9c842ff37fa">IRTcl112Ac::checksum</a></div><div class="ttdeci">void checksum(const uint16_t length=kTcl112AcStateLength)</div><div class="ttdoc">Calculate &amp; set the checksum for the current internal state of the remote.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:115</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a2b994555374f08b3c9f6654211cb698a"><div class="ttname"><a href="unionTcl112Protocol.html#a2b994555374f08b3c9f6654211cb698a">Tcl112Protocol::Turbo</a></div><div class="ttdeci">uint8_t Turbo</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:52</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a1111f53e4f97b34238d735012a0a0768"><div class="ttname"><a href="unionTcl112Protocol.html#a1111f53e4f97b34238d735012a0a0768">Tcl112Protocol::OnTimer</a></div><div class="ttdeci">uint8_t OnTimer</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:68</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html"><div class="ttname"><a href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a></div></div>
<div class="ttc" id="aunionTcl112Protocol_html"><div class="ttname"><a href="unionTcl112Protocol.html">Tcl112Protocol</a></div><div class="ttdoc">Native representation of a TCL 112 A/C message.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:29</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a38ef38c4d67dfae2a1927ce756bba84a"><div class="ttname"><a href="unionTcl112Protocol.html#a38ef38c4d67dfae2a1927ce756bba84a">Tcl112Protocol::HalfDegree</a></div><div class="ttdeci">uint8_t HalfDegree</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:76</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a3f10e710a44c3a80f4f9ed5247b28058"><div class="ttname"><a href="classIRTcl112Ac.html#a3f10e710a44c3a80f4f9ed5247b28058">IRTcl112Ac::_irsend</a></div><div class="ttdeci">IRsend _irsend</div><div class="ttdoc">Instance of the IR send class.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:188</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a110bae0201b63db0409c352dd8d62786"><div class="ttname"><a href="classIRTcl112Ac.html#a110bae0201b63db0409c352dd8d62786">IRTcl112Ac::setTemp</a></div><div class="ttdeci">void setTemp(const float celsius)</div><div class="ttdoc">Set the temperature.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:221</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a517375b764d1381aa5a7d4ec962346ec"><div class="ttname"><a href="classIRTcl112Ac.html#a517375b764d1381aa5a7d4ec962346ec">IRTcl112Ac::getRaw</a></div><div class="ttdeci">uint8_t * getRaw(void)</div><div class="ttdoc">Get a PTR to the internal state/code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:167</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a7dec5b0559f996df8a4fc259ab6012e9"><div class="ttname"><a href="classIRTcl112Ac.html#a7dec5b0559f996df8a4fc259ab6012e9">IRTcl112Ac::setLight</a></div><div class="ttdeci">void setLight(const bool on)</div><div class="ttdoc">Set the Light (LED/Display) setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:280</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_ad2367d2481f94f14b9c4f7b378711b7e"><div class="ttname"><a href="classIRTcl112Ac.html#ad2367d2481f94f14b9c4f7b378711b7e">IRTcl112Ac::setPower</a></div><div class="ttdeci">void setPower(const bool on)</div><div class="ttdoc">Change the power setting.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:187</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a435744e4c6ef31b362d15523ce0584f5"><div class="ttname"><a href="classIRTcl112Ac.html#a435744e4c6ef31b362d15523ce0584f5">IRTcl112Ac::calibrate</a></div><div class="ttdeci">int8_t calibrate(void)</div><div class="ttdoc">Run the calibration to calculate uSec timing offsets for this platform.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:135</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a1787bdc0b636eeca6f85dcbec14aef6b"><div class="ttname"><a href="unionTcl112Protocol.html#a1787bdc0b636eeca6f85dcbec14aef6b">Tcl112Protocol::Light</a></div><div class="ttdeci">uint8_t Light</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:47</div></div>
<div class="ttc" id="air__Tcl_8h_html_a9ccdf5ce9ce325b9813dadbdc855a469"><div class="ttname"><a href="ir__Tcl_8h.html#a9ccdf5ce9ce325b9813dadbdc855a469">kTcl112AcGap</a></div><div class="ttdeci">const uint32_t kTcl112AcGap</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:90</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a204bc37ffadf72ed31b305197c4803f4"><div class="ttname"><a href="classIRTcl112Ac.html#a204bc37ffadf72ed31b305197c4803f4">IRTcl112Ac::validChecksum</a></div><div class="ttdeci">static bool validChecksum(uint8_t state[], const uint16_t length=kTcl112AcStateLength)</div><div class="ttdoc">Verify the checksum is valid for a given state.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:125</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a9c5da7b0c3394c77cbb043196e4694e9"><div class="ttname"><a href="classIRTcl112Ac.html#a9c5da7b0c3394c77cbb043196e4694e9">IRTcl112Ac::_quiet</a></div><div class="ttdeci">bool _quiet</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:196</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a8aefa398eb58112b2f39ead30c3953a9"><div class="ttname"><a href="unionTcl112Protocol.html#a8aefa398eb58112b2f39ead30c3953a9">Tcl112Protocol::Fan</a></div><div class="ttdeci">uint8_t Fan</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:58</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a5b9983ab4027951679f0dc31b33cbadf"><div class="ttname"><a href="classIRTcl112Ac.html#a5b9983ab4027951679f0dc31b33cbadf">IRTcl112Ac::begin</a></div><div class="ttdeci">void begin(void)</div><div class="ttdoc">Set up hardware to be able to send a message.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:65</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a96d87be2a38710de21cecfab0050ff95"><div class="ttname"><a href="unionTcl112Protocol.html#a96d87be2a38710de21cecfab0050ff95">Tcl112Protocol::Mode</a></div><div class="ttdeci">uint8_t Mode</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:50</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a757c07a38c2236ce5c9b5f23a71a4b15"><div class="ttname"><a href="classIRTcl112Ac.html#a757c07a38c2236ce5c9b5f23a71a4b15">IRTcl112Ac::setOnTimer</a></div><div class="ttdeci">void setOnTimer(const uint16_t mins)</div><div class="ttdoc">Set or cancel the On Timer function.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:354</div></div>
<div class="ttc" id="air__Tcl_8h_html_a5406fbabd66478d601aebc6939a3788f"><div class="ttname"><a href="ir__Tcl_8h.html#a5406fbabd66478d601aebc6939a3788f">kTcl112AcSwingVOn</a></div><div class="ttdeci">const uint8_t kTcl112AcSwingVOn</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:118</div></div>
<div class="ttc" id="air__Tcl_8h_html_a11a982cc182e446d53ded658cb7a08b6"><div class="ttname"><a href="ir__Tcl_8h.html#a11a982cc182e446d53ded658cb7a08b6">kTcl112AcAuto</a></div><div class="ttdeci">const uint8_t kTcl112AcAuto</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:99</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_a97c82cec6d72845d9ab8a201b0fa5034"><div class="ttname"><a href="IRremoteESP8266_8h.html#a97c82cec6d72845d9ab8a201b0fa5034">kTcl112AcDefaultRepeat</a></div><div class="ttdeci">const uint16_t kTcl112AcDefaultRepeat</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1394</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a2546ae2668d1e229942fab821d92f314"><div class="ttname"><a href="unionTcl112Protocol.html#a2546ae2668d1e229942fab821d92f314">Tcl112Protocol::OnTimerEnabled</a></div><div class="ttdeci">uint8_t OnTimerEnabled</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:45</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a66843ee5b53ce9be1aef3774b8df5c84"><div class="ttname"><a href="classIRTcl112Ac.html#a66843ee5b53ce9be1aef3774b8df5c84">IRTcl112Ac::toCommonFanSpeed</a></div><div class="ttdeci">static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)</div><div class="ttdoc">Convert a native fan speed into its stdAc equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:433</div></div>
<div class="ttc" id="air__Tcl_8h_html_a60efbe31031e1e9c3a17c7d80cac54cb"><div class="ttname"><a href="ir__Tcl_8h.html#a60efbe31031e1e9c3a17c7d80cac54cb">kTcl112AcTempMax</a></div><div class="ttdeci">const float kTcl112AcTempMax</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:109</div></div>
<div class="ttc" id="air__Tcl_8h_html_a56f9f7daf3ada77f8f844afd46a80de9"><div class="ttname"><a href="ir__Tcl_8h.html#a56f9f7daf3ada77f8f844afd46a80de9">kTcl112AcHdrMark</a></div><div class="ttdeci">const uint16_t kTcl112AcHdrMark</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:85</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a058bdb5e3191ba900aeb68a02290ef7f"><div class="ttname"><a href="classIRTcl112Ac.html#a058bdb5e3191ba900aeb68a02290ef7f">IRTcl112Ac::getLight</a></div><div class="ttdeci">bool getLight(void) const</div><div class="ttdoc">Get the Light (LED/Display) setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:284</div></div>
<div class="ttc" id="air__Tcl_8h_html_a1e91cd0aa17543b7174c9b14c49e8639"><div class="ttname"><a href="ir__Tcl_8h.html#a1e91cd0aa17543b7174c9b14c49e8639">kTcl112AcFanNight</a></div><div class="ttdeci">const uint8_t kTcl112AcFanNight</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:106</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a1a050c9b238691ba6d4764beeb788778"><div class="ttname"><a href="classIRTcl112Ac.html#a1a050c9b238691ba6d4764beeb788778">IRTcl112Ac::setMode</a></div><div class="ttdeci">void setMode(const uint8_t mode)</div><div class="ttdoc">Set the operating mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:201</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_aca58fa05e0a548719b34b86357e3f305"><div class="ttname"><a href="unionTcl112Protocol.html#aca58fa05e0a548719b34b86357e3f305">Tcl112Protocol::OffTimerEnabled</a></div><div class="ttdeci">uint8_t OffTimerEnabled</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:44</div></div>
<div class="ttc" id="air__Tcl_8h_html_a67e96dc38aa1570bcee95cf21a38f8dd"><div class="ttname"><a href="ir__Tcl_8h.html#a67e96dc38aa1570bcee95cf21a38f8dd">kTcl112AcSwingVHigh</a></div><div class="ttdeci">const uint8_t kTcl112AcSwingVHigh</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:114</div></div>
<div class="ttc" id="air__Tcl_8h_html_a099935d6d2bf6ebb28332005036c59c0"><div class="ttname"><a href="ir__Tcl_8h.html#a099935d6d2bf6ebb28332005036c59c0">kTcl112AcFanAuto</a></div><div class="ttdeci">const uint8_t kTcl112AcFanAuto</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:101</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a1cd1b6a9948c7421c78dbafe3df07751"><div class="ttname"><a href="classIRTcl112Ac.html#a1cd1b6a9948c7421c78dbafe3df07751">IRTcl112Ac::setQuiet</a></div><div class="ttdeci">void setQuiet(const bool on)</div><div class="ttdoc">Set the Quiet setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:329</div></div>
<div class="ttc" id="air__Tcl_8h_html_a4a4b778086b3ebf856b750fe0c4bd2c0"><div class="ttname"><a href="ir__Tcl_8h.html#a4a4b778086b3ebf856b750fe0c4bd2c0">kTcl112AcCool</a></div><div class="ttdeci">const uint8_t kTcl112AcCool</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:97</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a0bbf7f0b9753b516fda0544c17b15b8a"><div class="ttname"><a href="classIRTcl112Ac.html#a0bbf7f0b9753b516fda0544c17b15b8a">IRTcl112Ac::on</a></div><div class="ttdeci">void on(void)</div><div class="ttdoc">Set the requested power state of the A/C to on.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:180</div></div>
<div class="ttc" id="aIRrecv_8h_html"><div class="ttname"><a href="IRrecv_8h.html">IRrecv.h</a></div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a15ecd741098cfa6caa4d12a427734f2c"><div class="ttname"><a href="classIRTcl112Ac.html#a15ecd741098cfa6caa4d12a427734f2c">IRTcl112Ac::getOnTimer</a></div><div class="ttdeci">uint16_t getOnTimer(void) const</div><div class="ttdoc">Get how long the On Timer is set for, in minutes.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:347</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a4d4ec9093ad1cb4457e004e21545d1a7"><div class="ttname"><a href="unionTcl112Protocol.html#a4d4ec9093ad1cb4457e004e21545d1a7">Tcl112Protocol::SwingV</a></div><div class="ttdeci">uint8_t SwingV</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:59</div></div>
<div class="ttc" id="air__Tcl_8h_html_aebc62b52b82497fa1c9f126b8902332a"><div class="ttname"><a href="ir__Tcl_8h.html#aebc62b52b82497fa1c9f126b8902332a">kTcl112AcSwingVLow</a></div><div class="ttdeci">const uint8_t kTcl112AcSwingVLow</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:116</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a2dce97bdebb2d9a2648d7e8e83ed892d"><div class="ttname"><a href="unionTcl112Protocol.html#a2dce97bdebb2d9a2648d7e8e83ed892d">Tcl112Protocol::Health</a></div><div class="ttdeci">uint8_t Health</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:51</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_ad13fe14c6ce0b9a64b87d0e6939e7657"><div class="ttname"><a href="classIRTcl112Ac.html#ad13fe14c6ce0b9a64b87d0e6939e7657">IRTcl112Ac::getModel</a></div><div class="ttdeci">tcl_ac_remote_model_t getModel(void) const</div><div class="ttdoc">Get/Detect the model of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:154</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a1d1a6ffcb7076b1d6c742de1178c2420"><div class="ttname"><a href="unionTcl112Protocol.html#a1d1a6ffcb7076b1d6c742de1178c2420">Tcl112Protocol::raw</a></div><div class="ttdeci">uint8_t raw[kTcl112AcStateLength]</div><div class="ttdoc">The State in IR code form.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:30</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a28ed509977d8642174bc6c9aa97ae1c3"><div class="ttname"><a href="classIRTcl112Ac.html#a28ed509977d8642174bc6c9aa97ae1c3">IRTcl112Ac::setHealth</a></div><div class="ttdeci">void setHealth(const bool on)</div><div class="ttdoc">Set the Health (Filter) setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:272</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_ab2e39430629fcada55a584cff66d2749"><div class="ttname"><a href="classIRTcl112Ac.html#ab2e39430629fcada55a584cff66d2749">IRTcl112Ac::off</a></div><div class="ttdeci">void off(void)</div><div class="ttdoc">Set the requested power state of the A/C to off.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:183</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a5b0994f37df6846137b564eeb322f21b"><div class="ttname"><a href="classIRTcl112Ac.html#a5b0994f37df6846137b564eeb322f21b">IRTcl112Ac::setRaw</a></div><div class="ttdeci">void setRaw(const uint8_t new_code[], const uint16_t length=kTcl112AcStateLength)</div><div class="ttdoc">Set the internal state from a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:175</div></div>
<div class="ttc" id="air__Tcl_8h_html_aa78e1b544f392c251093d458e5d21e12"><div class="ttname"><a href="ir__Tcl_8h.html#aa78e1b544f392c251093d458e5d21e12">kTcl112AcSwingVOff</a></div><div class="ttdeci">const uint8_t kTcl112AcSwingVOff</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:112</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a5d46a94c80989ecfd47c86028ab69662"><div class="ttname"><a href="unionTcl112Protocol.html#a5d46a94c80989ecfd47c86028ab69662">Tcl112Protocol::Sum</a></div><div class="ttdeci">uint8_t Sum</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:80</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a0dab8ad6675c4ec122d0d7e28a557cba"><div class="ttname"><a href="classIRTcl112Ac.html#a0dab8ad6675c4ec122d0d7e28a557cba">IRTcl112Ac::setFan</a></div><div class="ttdeci">void setFan(const uint8_t speed)</div><div class="ttdoc">Set the speed of the fan.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:244</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a39ba4ba74ab8d9d3fa05725cd0f4ae7d"><div class="ttname"><a href="unionTcl112Protocol.html#a39ba4ba74ab8d9d3fa05725cd0f4ae7d">Tcl112Protocol::TimerIndicator</a></div><div class="ttdeci">uint8_t TimerIndicator</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:60</div></div>
<div class="ttc" id="air__Tcl_8h_html_ab9d980747b2ddd1b7fb04f00d71af1e7"><div class="ttname"><a href="ir__Tcl_8h.html#ab9d980747b2ddd1b7fb04f00d71af1e7">kTcl112AcHdrMarkTolerance</a></div><div class="ttdeci">const uint8_t kTcl112AcHdrMarkTolerance</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:92</div></div>
<div class="ttc" id="air__Tcl_8h_html_a1d9ec40c278fedf87acb7420ef861101"><div class="ttname"><a href="ir__Tcl_8h.html#a1d9ec40c278fedf87acb7420ef861101">kTcl112AcDry</a></div><div class="ttdeci">const uint8_t kTcl112AcDry</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:96</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a0072309bc66dcc9774f318c44475ebe2"><div class="ttname"><a href="unionTcl112Protocol.html#a0072309bc66dcc9774f318c44475ebe2">Tcl112Protocol::MsgType</a></div><div class="ttdeci">uint8_t MsgType</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:37</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a044a8f5f05a4bbc10bac155b49d27ee5"><div class="ttname"><a href="classIRTcl112Ac.html#a044a8f5f05a4bbc10bac155b49d27ee5">IRTcl112Ac::getTurbo</a></div><div class="ttdeci">bool getTurbo(void) const</div><div class="ttdoc">Get the Turbo setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:325</div></div>
<div class="ttc" id="air__Tcl_8h_html_aab9672bac3e83b2e3b3d2cc5f1aa0e1f"><div class="ttname"><a href="ir__Tcl_8h.html#aab9672bac3e83b2e3b3d2cc5f1aa0e1f">kTcl112AcFanHigh</a></div><div class="ttdeci">const uint8_t kTcl112AcFanHigh</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:105</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_a23ba2f5af02242e14ae7eefcd066152e"><div class="ttname"><a href="IRremoteESP8266_8h.html#a23ba2f5af02242e14ae7eefcd066152e">kTcl112AcStateLength</a></div><div class="ttdeci">const uint16_t kTcl112AcStateLength</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1392</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a6035b0bb25c4d8972cae2c95f1416d85"><div class="ttname"><a href="classIRTcl112Ac.html#a6035b0bb25c4d8972cae2c95f1416d85">IRTcl112Ac::toCommon</a></div><div class="ttdeci">stdAc::state_t toCommon(const stdAc::state_t *prev=NULL) const</div><div class="ttdoc">Convert the current internal state into its stdAc::state_t equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:455</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a8ab8cfeceddf98e427ae4d15342b1a68"><div class="ttname"><a href="classIRTcl112Ac.html#a8ab8cfeceddf98e427ae4d15342b1a68">IRTcl112Ac::getSwingVertical</a></div><div class="ttdeci">uint8_t getSwingVertical(void) const</div><div class="ttdoc">Get the vertical swing setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:311</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a3a27bddca116b617b331018c1672f35f"><div class="ttname"><a href="classIRTcl112Ac.html#a3a27bddca116b617b331018c1672f35f">IRTcl112Ac::toCommonSwingV</a></div><div class="ttdeci">static stdAc::swingv_t toCommonSwingV(const uint8_t setting)</div><div class="ttdoc">Convert a native vertical swing postion to it's common equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:446</div></div>
<div class="ttc" id="air__Tcl_8h_html_ae07f3dd0a84be27bcb13ba60f4fd025b"><div class="ttname"><a href="ir__Tcl_8h.html#ae07f3dd0a84be27bcb13ba60f4fd025b">kTcl112AcFan</a></div><div class="ttdeci">const uint8_t kTcl112AcFan</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:98</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_af9bed8c8ef7e25e624f1f4765722acc5"><div class="ttname"><a href="classIRTcl112Ac.html#af9bed8c8ef7e25e624f1f4765722acc5">IRTcl112Ac::toString</a></div><div class="ttdeci">String toString(void) const</div><div class="ttdoc">Convert the current internal state into a human readable string.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:486</div></div>
<div class="ttc" id="air__Tcl_8h_html_abc05edaeb1a4fa7e6ccf9bda1f66b483"><div class="ttname"><a href="ir__Tcl_8h.html#abc05edaeb1a4fa7e6ccf9bda1f66b483">kTcl112AcZeroSpace</a></div><div class="ttdeci">const uint16_t kTcl112AcZeroSpace</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:89</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a631d9d1addb03f18708fbec9d2480651"><div class="ttname"><a href="classIRTcl112Ac.html#a631d9d1addb03f18708fbec9d2480651">IRTcl112Ac::getPower</a></div><div class="ttdeci">bool getPower(void) const</div><div class="ttdoc">Get the value of the current power setting.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:191</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a230a8d768089d869efdea6589b0a9e37"><div class="ttname"><a href="classIRTcl112Ac.html#a230a8d768089d869efdea6589b0a9e37">IRTcl112Ac::toCommonMode</a></div><div class="ttdeci">static stdAc::opmode_t toCommonMode(const uint8_t mode)</div><div class="ttdoc">Convert a native mode into its stdAc equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:405</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a99e3b3e2f0cc627b6d872d04b35d6230"><div class="ttname"><a href="classIRTcl112Ac.html#a99e3b3e2f0cc627b6d872d04b35d6230">IRTcl112Ac::setTurbo</a></div><div class="ttdeci">void setTurbo(const bool on)</div><div class="ttdoc">Set the Turbo setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:315</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a36d618f6a8a695b4ad7a3b4d2c3ddb82"><div class="ttname"><a href="classIRTcl112Ac.html#a36d618f6a8a695b4ad7a3b4d2c3ddb82">IRTcl112Ac::setModel</a></div><div class="ttdeci">void setModel(const tcl_ac_remote_model_t model)</div><div class="ttdoc">Set the model of the A/C to emulate.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:161</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a061bdfdf4444cb5e06fa90824985c1ec"><div class="ttname"><a href="classIRTcl112Ac.html#a061bdfdf4444cb5e06fa90824985c1ec">IRTcl112Ac::IRTcl112Ac</a></div><div class="ttdeci">IRTcl112Ac(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)</div><div class="ttdoc">Class constructor.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:60</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_afd9ffbbbb7de4dbda8f9c023e3f263a8"><div class="ttname"><a href="classIRTcl112Ac.html#afd9ffbbbb7de4dbda8f9c023e3f263a8">IRTcl112Ac::setSwingVertical</a></div><div class="ttdeci">void setSwingVertical(const uint8_t setting)</div><div class="ttdoc">Set the vertical swing setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:296</div></div>
<div class="ttc" id="air__Tcl_8h_html_a13bbe794b2b59763f7f93f15a3f26820"><div class="ttname"><a href="ir__Tcl_8h.html#a13bbe794b2b59763f7f93f15a3f26820">kTcl112AcTolerance</a></div><div class="ttdeci">const uint8_t kTcl112AcTolerance</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:93</div></div>
<div class="ttc" id="air__Tcl_8h_html_ae573f856f0bdf50406e9be84b1aa8ade"><div class="ttname"><a href="ir__Tcl_8h.html#ae573f856f0bdf50406e9be84b1aa8ade">kTcl112AcHeat</a></div><div class="ttdeci">const uint8_t kTcl112AcHeat</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:95</div></div>
<div class="ttc" id="aclassIRTcl112Ac_html_a4c7f0b599c415406274bfba4f0e65984"><div class="ttname"><a href="classIRTcl112Ac.html#a4c7f0b599c415406274bfba4f0e65984">IRTcl112Ac::getFan</a></div><div class="ttdeci">uint8_t getFan(void) const</div><div class="ttdoc">Get the current fan speed setting.</div><div class="ttdef"><b>Definition:</b> ir_Tcl.cpp:260</div></div>
<div class="ttc" id="astructstdAc_1_1state__t_html"><div class="ttname"><a href="structstdAc_1_1state__t.html">stdAc::state_t</a></div><div class="ttdoc">Structure to hold a common A/C state.</div><div class="ttdef"><b>Definition:</b> IRsend.h:114</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a8e3ce768b33f71d50ce398c52078e625"><div class="ttname"><a href="unionTcl112Protocol.html#a8e3ce768b33f71d50ce398c52078e625">Tcl112Protocol::OffTimer</a></div><div class="ttdeci">uint8_t OffTimer</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:64</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_a5791daa5a91ae0bfff5db2b42472b218"><div class="ttname"><a href="unionTcl112Protocol.html#a5791daa5a91ae0bfff5db2b42472b218">Tcl112Protocol::Econo</a></div><div class="ttdeci">uint8_t Econo</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:48</div></div>
<div class="ttc" id="air__Tcl_8h_html_a185373ec3b1f0a77887b0940835eb293"><div class="ttname"><a href="ir__Tcl_8h.html#a185373ec3b1f0a77887b0940835eb293">kTcl112AcFanMin</a></div><div class="ttdeci">const uint8_t kTcl112AcFanMin</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:102</div></div>
<div class="ttc" id="aunionTcl112Protocol_html_af087805327d98279e00c8f6427a2f9e7"><div class="ttname"><a href="unionTcl112Protocol.html#af087805327d98279e00c8f6427a2f9e7">Tcl112Protocol::Power</a></div><div class="ttdeci">uint8_t Power</div><div class="ttdef"><b>Definition:</b> ir_Tcl.h:43</div></div>
<div class="ttc" id="anamespacestdAc_html_a99ad268c783486f9b3207cb78f48444f"><div class="ttname"><a href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a></div><div class="ttdeci">opmode_t</div><div class="ttdoc">Common A/C settings for A/C operating modes.</div><div class="ttdef"><b>Definition:</b> IRsend.h:49</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
